﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace GraphicsFramework.Interface
{
    public interface GraphicsInterface
    {
        //Functions
        void SelectDrawing();
        void StartDrawing(Drawing.GraphicBase drawing);
        void AddDrawing(Drawing.GraphicBase drawing);
        void StartDrawingLine();
        void StartDrawingPolyline();
        void StartDrawingRectangle();
        void StartDrawingPolygon();

        //Zoom
        void ZoomIn();
        void ZoomOut();
        void ZoomExtent();
        void ZoomWindow();
        void Pan();

        void FlipHorizontal();
        void FlipVertical();
        
        void Export(string filename);

        //For Event Handling
        void RefreshDrawing();

        Entity.Point2F GridValue
        {
            get;
            set;
        }


        bool AntiAlias
        {
            get;
            set;
        }

        /// <summary>
        /// Show/Hide Grid
        /// </summary>
        bool ShowGrid
        {
            get;
            set;
        }

        /// <summary>
        /// Turn On/Off Snap
        /// </summary>
        bool Snap
        {
            get;
            set;
        }
    }
}
